1. Field of the Invention
The present invention relates to a hard disk drive (HDD), and more particularly, to a method of constructing firmware of a HDD which is capable of uploading code data written in a hard disk to a memory or downloading the code data from the memory to the hard disk.
2. Description of the Related Art
A HDD, a magnetic disk storage medium, has been widely used as an auxiliary memory of a computer system by virtue of its high speed operation and its large capacity. The HDD has a processor for controlling data writing or reading operation, and the processor controls the circuit and mechanical parts of the HDD by using firmware written in a storage medium.
The HDD uses firmware for driving the circuit and mechanical parts thereof. Firmware is programming that is inserted into a PROM, and is created and tested like software (using microcode simulation). When ready, it can be distributed like other software and, using a special interface, installed in the PROM by the user. The firmware is stored in the PROM for accessing data under the control of a microprocessor. The PROM can store data of about 64 kilo (K) words, i.e., kilobytes. The firmware is broadly divided into an interface module, a disk module, a test module, and a servo module. The firmware tests or initializes a computer when the computer is powered on and offers a basic function used for operating system""s interacting with the user and the HDD. The firmware is programmed using C language or assembler language and stored in the PROM in a binary or hexadecimal form.
The firmware has a program bug, however, in that it is not easy to debug the firmware stored in the PROM. For example, in order to upgrade the firmware, the PROM would be replaced. If it is demanded that the firmware should be changed in relation to the process test, reliability and compatibility of the HDD, it is difficult to appropriately cope with such a situation. Since the PROM can not be changed once it is written, it can not rapidly satisfy the demand for altering the codes. If a serious problem happens during operation of the HDD, the PROM should be replaced with another one. Although a flash ROM may be used instead of the PROM, it is more expensive than the PROM.
Incorporated herein by reference are the following patents which discuss various methods of updating firmware to a PROM or flash PROM: U.S. Pat. No. 5,623,604 to William C. Russell et al. entitled Method And apparatus For Remotely Altering Programmable Firmware Stored In An Interactive NetworkBoard Coupled To A NetworkPeripheral; U.S. Pat. No. 5,781,921 to Robert A. Nichols entitled Method And Apparatus To Effect Firmware Upgrades Using A Removable Memory Device Under Software Control; U.S. Pat. No. 5,826,075 to Richard Bealkowski et al. entitled Automated Programmable Firmware Store For A Personal Computer System; U.S. Pat. No. 5,850,562 to Dwayne Thomas Crump et al. entitled Personal Computer Apparatus And Method For Monitoring Memory Locations States For Facilitating Debugging Of POST And BIOS Code; and U.S. Pat. No. 5,864,698 to Michael Paul Krau et al. entitled Disk Based BIOS.
It is therefore an object of the present invention to provide a method of constructing firmware of a HDD which is capable of downloading firmware information to a hard disk and uploading the firmware information to a semiconductor memory.
It is another object of the present invention to provide a method of constructing firmware which can easily correct a bug and can appropriately cope with the demand for upgrading in relation to the process test, reliability and compatibility of a HDD.
In accordance with an aspect of the present invention, there is provided a method of constructing firmware of a hard disk drive having a disk as a storage medium consisting of a data band in which user data is written and a plurality of protecting bands. The method includes the steps of: storing codes needed to operate the hard disk drive in a prescribed area of the disk; storing a hard disk drive boot code and a servo core code in a flash read only memory of prescribed capacity; and uploading the codes stored in the disk to a random access memory of prescribed capacity by using the codes stored in the flash read only memory, thus to implement the actual operation of the hard disk drive.